package com.ruoyi.pos.domain.dto.device.request;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import javax.validation.constraints.NotNull;
import java.util.Date;

/**
 * 设备心跳请求DTO
 * 
 * @author ruoyi
 * @date 2025-01-30
 */
@Data
@ApiModel(description = "设备心跳请求")
public class DeviceHeartbeatRequest {

    @ApiModelProperty(value = "设备ID", required = true)
    @NotNull(message = "设备ID不能为空")
    private Long deviceId;

    @ApiModelProperty(value = "设备编码")
    private String deviceCode;

    @ApiModelProperty(value = "心跳时间")
    private Date heartbeatTime;

    @ApiModelProperty(value = "设备IP地址")
    private String ipAddress;

    @ApiModelProperty(value = "设备MAC地址")
    private String macAddress;

    @ApiModelProperty(value = "设备状态")
    private String deviceStatus;

    @ApiModelProperty(value = "CPU使用率")
    private Double cpuUsage;

    @ApiModelProperty(value = "内存使用率")
    private Double memoryUsage;

    @ApiModelProperty(value = "磁盘使用率")
    private Double diskUsage;

    @ApiModelProperty(value = "网络状态")
    private String networkStatus;

    @ApiModelProperty(value = "应用版本")
    private String appVersion;

    @ApiModelProperty(value = "备注信息")
    private String remark;
}
